fn verbose_output_for_lib(p: &ProjectBuilder) -> String {
format!("\
[COMPILING] {name} v{version} ({url})
-[RUNNING] `rustc --crate-name {name} src[/]lib.rs --crate-type lib -g \
+[RUNNING] `rustc --crate-name {name} src[/]lib.rs --crate-type lib \
+ --emit=dep-info,link -g \
-C metadata=[..] \
--out-dir [..] \
- --emit=dep-info,link \
-L dependency={dir}[/]target[/]debug[/]deps`
[FINISHED] debug [unoptimized + debuginfo] target(s) in [..]
",
[COMPILING] a v0.5.0 (file://[..])
[RUNNING] `rustc [..] a[/]build.rs [..] --extern b=[..]`
[RUNNING] `[..][/]a-[..][/]build-script-build`
-[RUNNING] `rustc --crate-name a [..]lib.rs --crate-type lib -g \
+[RUNNING] `rustc --crate-name a [..]lib.rs --crate-type lib \
+ --emit=dep-info,link -g \
-C metadata=[..] \
- --out-dir [..]target[/]debug[/]deps --emit=dep-info,link \
+ --out-dir [..]target[/]debug[/]deps \
-L [..]target[/]debug[/]deps`
[COMPILING] foo v0.5.0 (file://[..])
[RUNNING] `rustc --crate-name build_script_build build.rs --crate-type bin \
- -g -C metadata=[..] --out-dir [..] --emit=dep-info,link \
+ --emit=dep-info,link \
+ -g -C metadata=[..] --out-dir [..] \
-L [..]target[/]debug[/]deps \
--extern a=[..]liba[..].rlib`
[RUNNING] `[..][/]foo-[..][/]build-script-build`
-[RUNNING] `rustc --crate-name foo [..]lib.rs --crate-type lib -g \
+[RUNNING] `rustc --crate-name foo [..]lib.rs --crate-type lib \
+ --emit=dep-info,link -g \
-C metadata=[..] \
- --out-dir [..] --emit=dep-info,link \
+ --out-dir [..] \
-L [..]target[/]debug[/]deps`
[FINISHED] debug [unoptimized + debuginfo] target(s) in [..]
"));
execs().with_status(0).with_stderr(&format!("\
[COMPILING] bar v0.0.1 ({url}/bar)
[RUNNING] `rustc --crate-name bar bar[/]src[/]lib.rs --crate-type dylib \
+ --emit=dep-info,link \
-C prefer-dynamic -g \
-C metadata=[..] \
--out-dir [..] \
- --emit=dep-info,link \
-L dependency={dir}[/]target[/]debug[/]deps`
[COMPILING] foo v0.0.1 ({url})
-[RUNNING] `rustc --crate-name foo src[/]lib.rs --crate-type lib -g \
+[RUNNING] `rustc --crate-name foo src[/]lib.rs --crate-type lib \
+ --emit=dep-info,link -g \
-C metadata=[..] \
-C extra-filename=[..] \
--out-dir [..] \
- --emit=dep-info,link \
-L dependency={dir}[/]target[/]debug[/]deps \
--extern bar={dir}[/]target[/]debug[/]deps[/]{prefix}bar{suffix}`
-[FINISHED] debug [unoptimized + debuginfo] target(s) in [..]
-",
+[FINISHED] debug [unoptimized + debuginfo] target(s) in [..]",
dir = p.root().display(),
url = p.url(),
prefix = env::consts::DLL_PREFIX,
execs().with_status(0).with_stderr(&format!("\
[COMPILING] bar v0.0.1 ({url}/bar)
[RUNNING] `rustc --crate-name bar bar[/]src[/]lib.rs --crate-type dylib \
+ --emit=dep-info,link \
-C prefer-dynamic -g \
-C metadata=[..] \
--out-dir [..] \
- --emit=dep-info,link \
-L dependency={dir}[/]target[/]debug[/]deps`
[COMPILING] foo v0.0.1 ({url})
-[RUNNING] `rustc --crate-name foo src[/]lib.rs --crate-type lib -g \
+[RUNNING] `rustc --crate-name foo src[/]lib.rs --crate-type lib \
+ --emit=dep-info,link -g \
-C metadata=[..] \
-C extra-filename=[..] \
--out-dir [..] \
- --emit=dep-info,link \
-L dependency={dir}[/]target[/]debug[/]deps \
--extern bar={dir}[/]target[/]debug[/]deps[/]{prefix}bar-[..]{suffix}`
[FINISHED] debug [unoptimized + debuginfo] target(s) in [..]
execs().with_status(0).with_stderr(&format!("\
[COMPILING] test v0.0.0 ({url})
[RUNNING] `rustc --crate-name test src[/]main.rs --crate-type bin \
+ --emit=dep-info,link \
-C opt-level=3 \
-C lto \
-C metadata=[..] \
--out-dir {dir}[/]target[/]release[/]deps \
- --emit=dep-info,link \
-L dependency={dir}[/]target[/]release[/]deps`
[FINISHED] release [optimized] target(s) in [..]
",
assert_that(p.cargo_process("build").arg("-v"),
execs().with_status(0).with_stderr(&format!("\
[COMPILING] test v0.0.0 ({url})
-[RUNNING] `rustc --crate-name test src[/]lib.rs --crate-type lib -g \
+[RUNNING] `rustc --crate-name test src[/]lib.rs --crate-type lib \
+ --emit=dep-info,link -g \
-C metadata=[..] \
--out-dir [..] \
- --emit=dep-info,link \
-L dependency={dir}[/]target[/]debug[/]deps`
[FINISHED] debug [unoptimized + debuginfo] target(s) in [..]
",
execs().with_status(0).with_stderr(&format!("\
[COMPILING] test v0.0.0 ({url})
[RUNNING] `rustc --crate-name test src[/]lib.rs --crate-type lib \
+ --emit=dep-info,link \
-C opt-level=3 \
-C metadata=[..] \
--out-dir [..] \
- --emit=dep-info,link \
-L dependency={dir}[/]target[/]release[/]deps`
[FINISHED] release [optimized] target(s) in [..]
",
execs().with_status(0).with_stderr(&format!("\
[COMPILING] foo v0.0.0 ({url}/foo)
[RUNNING] `rustc --crate-name foo foo[/]src[/]lib.rs \
- --crate-type dylib --crate-type rlib -C prefer-dynamic \
+ --crate-type dylib --crate-type rlib \
+ --emit=dep-info,link \
+ -C prefer-dynamic \
-C opt-level=3 \
-C metadata=[..] \
--out-dir [..] \
- --emit=dep-info,link \
-L dependency={dir}[/]target[/]release[/]deps`
[COMPILING] test v0.0.0 ({url})
[RUNNING] `rustc --crate-name test src[/]lib.rs --crate-type lib \
+ --emit=dep-info,link \
-C opt-level=3 \
-C metadata=[..] \
--out-dir [..] \
- --emit=dep-info,link \
-L dependency={dir}[/]target[/]release[/]deps \
--extern foo={dir}[/]target[/]release[/]deps[/]{prefix}foo{suffix} \
--extern foo={dir}[/]target[/]release[/]deps[/]libfoo.rlib`
assert_that(foo.cargo_process("check").arg("-v"),
execs().with_status(0)
- .with_stderr_does_not_contain("--crate-type lib"));
+ .with_stderr_contains("[..] --emit=dep-info,metadata [..]"));
}
// Some weirdness that seems to be caused by a crate being built as well as
execs().with_status(101)
.with_stderr_contains(&format!("\
[COMPILING] foo v0.5.0 ({url})
-[RUNNING] `rustc --crate-name foo src[/]foo.rs --crate-type bin -g \
+[RUNNING] `rustc --crate-name foo src[/]foo.rs --crate-type bin \
+ --emit=dep-info,link -g \
-C metadata=[..] \
--out-dir {dir}[/]target[/]{target}[/]debug[/]deps \
- --emit=dep-info,link \
--target {target} \
-C ar=my-ar-tool -C linker=my-linker-tool \
-L dependency={dir}[/]target[/]{target}[/]debug[/]deps \
execs().with_status(0).with_stderr(&format!("\
[COMPILING] test v0.0.0 ({url})
[RUNNING] `rustc --crate-name test src[/]lib.rs --crate-type lib \
+ --emit=dep-info,link \
-C opt-level=1 \
-C debug-assertions=on \
-C metadata=[..] \
-C rpath \
--out-dir [..] \
- --emit=dep-info,link \
-L dependency={dir}[/]target[/]debug[/]deps`
[FINISHED] debug [optimized] target(s) in [..]
",
execs().with_status(0).with_stderr(&format!("\
[COMPILING] test v0.0.0 ({url})
[RUNNING] `rustc --crate-name test src[/]lib.rs --crate-type lib \
+ --emit=dep-info,link \
-g \
-C metadata=[..] \
--out-dir [..] \
- --emit=dep-info,link \
-L dependency={dir}[/]target[/]debug[/]deps`
[FINISHED] [..] target(s) in [..]
",
execs().with_status(0).with_stderr(&format!("\
[COMPILING] test v0.0.0 ({url})
[RUNNING] `rustc --crate-name test src[/]lib.rs --crate-type lib \
+ --emit=dep-info,link \
-C opt-level={level} \
-g \
-C debug-assertions=on \
-C metadata=[..] \
--out-dir [..] \
- --emit=dep-info,link \
-L dependency={dir}[/]target[/]debug[/]deps`
[FINISHED] [..] target(s) in [..]
",
execs().with_status(0).with_stderr(&format!("\
[COMPILING] foo v0.0.0 ({url}/foo)
[RUNNING] `rustc --crate-name foo foo[/]src[/]lib.rs \
- --crate-type dylib --crate-type rlib -C prefer-dynamic \
+ --crate-type dylib --crate-type rlib \
+ --emit=dep-info,link \
+ -C prefer-dynamic \
-C opt-level=1 \
-g \
-C metadata=[..] \
--out-dir {dir}[/]target[/]release[/]deps \
- --emit=dep-info,link \
-L dependency={dir}[/]target[/]release[/]deps`
[COMPILING] test v0.0.0 ({url})
[RUNNING] `rustc --crate-name test src[/]lib.rs --crate-type lib \
+ --emit=dep-info,link \
-C opt-level=1 \
-g \
-C metadata=[..] \
--out-dir [..] \
- --emit=dep-info,link \
-L dependency={dir}[/]target[/]release[/]deps \
--extern foo={dir}[/]target[/]release[/]deps[/]\
{prefix}foo[..]{suffix} \
.with_stderr(&format!("\
[COMPILING] bar v0.0.1 ({url}/bar)
[RUNNING] `rustc --crate-name bar bar[/]src[/]bar.rs --crate-type lib \
+ --emit=dep-info,link \
-C opt-level=3 \
-C metadata=[..] \
--out-dir {dir}[/]target[/]release[/]deps \
- --emit=dep-info,link \
-L dependency={dir}[/]target[/]release[/]deps`
[COMPILING] foo v0.0.1 ({url})
[RUNNING] `rustc --crate-name a examples[/]a.rs --crate-type bin \
+ --emit=dep-info,link \
-C opt-level=3 \
-C metadata=[..] \
--out-dir {dir}[/]target[/]release[/]examples \
- --emit=dep-info,link \
-L dependency={dir}[/]target[/]release[/]deps \
--extern bar={dir}[/]target[/]release[/]deps[/]libbar-[..].rlib`
[FINISHED] release [optimized] target(s) in [..]
.with_stderr(&format!("\
[COMPILING] bar v0.0.1 ({url}/bar)
[RUNNING] `rustc --crate-name bar bar[/]src[/]bar.rs --crate-type lib \
+ --emit=dep-info,link \
-g \
-C metadata=[..] \
--out-dir {dir}[/]target[/]debug[/]deps \
- --emit=dep-info,link \
-L dependency={dir}[/]target[/]debug[/]deps`
[COMPILING] foo v0.0.1 ({url})
[RUNNING] `rustc --crate-name a examples[/]a.rs --crate-type bin \
+ --emit=dep-info,link \
-g \
-C metadata=[..] \
--out-dir {dir}[/]target[/]debug[/]examples \
- --emit=dep-info,link \
-L dependency={dir}[/]target[/]debug[/]deps \
--extern bar={dir}[/]target[/]debug[/]deps[/]libbar-[..].rlib`
[FINISHED] debug [unoptimized + debuginfo] target(s) in [..]
.with_status(0)
.with_stderr(format!("\
[COMPILING] foo v0.0.1 ({url})
-[RUNNING] `rustc --crate-name foo src[/]lib.rs --crate-type lib -g \
+[RUNNING] `rustc --crate-name foo src[/]lib.rs --crate-type lib \
+ --emit=dep-info,link -g \
-C metadata=[..] \
--out-dir [..] \
- --emit=dep-info,link \
-L dependency={dir}[/]target[/]debug[/]deps`
[FINISHED] debug [unoptimized + debuginfo] target(s) in [..]
", dir = p.root().display(), url = p.url())));
.with_status(0)
.with_stderr(format!("\
[COMPILING] foo v0.0.1 ({url})
-[RUNNING] `rustc --crate-name foo src[/]lib.rs --crate-type lib -g \
+[RUNNING] `rustc --crate-name foo src[/]lib.rs --crate-type lib \
+ --emit=dep-info,link -g \
-C debug-assertions=off \
-C metadata=[..] \
--out-dir [..] \
- --emit=dep-info,link \
-L dependency={dir}[/]target[/]debug[/]deps`
[FINISHED] debug [unoptimized + debuginfo] target(s) in [..]
", dir = p.root().display(), url = p.url())))
.with_status(0)
.with_stderr(&format!("\
[COMPILING] {name} v{version} ({url})
-[RUNNING] `rustc --crate-name {name} src[/]lib.rs --crate-type lib -g \
+[RUNNING] `rustc --crate-name {name} src[/]lib.rs --crate-type lib \
+ --emit=dep-info,link -g \
-C metadata=[..] \
--out-dir [..] \
- --emit=dep-info,link \
-L dependency={dir}[/]target[/]debug[/]deps`
-[RUNNING] `rustc --crate-name {name} src[/]main.rs --crate-type bin -g \
+[RUNNING] `rustc --crate-name {name} src[/]main.rs --crate-type bin \
+ --emit=dep-info,link -g \
-C debug-assertions \
-C metadata=[..] \
--out-dir [..] \
- --emit=dep-info,link \
-L dependency={dir}[/]target[/]debug[/]deps \
--extern {name}={dir}[/]target[/]debug[/]deps[/]lib{name}-[..].rlib`
[FINISHED] debug [unoptimized + debuginfo] target(s) in [..]
.with_status(0)
.with_stderr(format!("\
[COMPILING] foo v0.0.1 ({url})
-[RUNNING] `rustc --crate-name foo src[/]lib.rs --crate-type lib -g \
+[RUNNING] `rustc --crate-name foo src[/]lib.rs --crate-type lib --emit=dep-info,link -g \
-C metadata=[..] \
--out-dir [..]`
-[RUNNING] `rustc --crate-name bar src[/]bin[/]bar.rs --crate-type bin -g \
+[RUNNING] `rustc --crate-name bar src[/]bin[/]bar.rs --crate-type bin --emit=dep-info,link -g \
-C debug-assertions [..]`
[FINISHED] debug [unoptimized + debuginfo] target(s) in [..]
", url = p.url())));
.with_status(0)
.with_stderr(format!("\
[COMPILING] foo v0.0.1 ({url})
-[RUNNING] `rustc --crate-name foo src[/]lib.rs --crate-type lib -g \
+[RUNNING] `rustc --crate-name foo src[/]lib.rs --crate-type lib --emit=dep-info,link -g \
-C metadata=[..] \
--out-dir [..]`
-[RUNNING] `rustc --crate-name bar tests[/]bar.rs -g \
+[RUNNING] `rustc --crate-name bar tests[/]bar.rs --emit=dep-info,link -g \
-C debug-assertions [..]--test[..]`
[FINISHED] debug [unoptimized + debuginfo] target(s) in [..]
", url = p.url())));